البرمجة

دليل استخدام منقح بايثون

كيفية استخدام منقح بايثون: دليل شامل

تعد البرمجة باستخدام بايثون واحدة من أكثر اللغات شيوعًا في عالم تطوير البرمجيات حاليًا. سواء كنت مبتدئًا أو محترفًا، فإن تعلم كيفية استخدام الأدوات المتاحة لكتابة وتحليل الأخطاء في الكود يمكن أن يوفر لك الكثير من الوقت والجهد. أحد الأدوات الأساسية التي يستخدمها مبرمجو بايثون هو منقح بايثون (Python Debugger). في هذا المقال، سنتناول بشكل مفصل كيفية استخدام منقح بايثون (والذي يُعرف اختصارًا باسم pdb) وكيفية الاستفادة منه في تحسين كود البرمجة وتصحيح الأخطاء.

ما هو منقح بايثون (pdb)؟

منقح بايثون (pdb) هو أداة مدمجة مع لغة بايثون تساعد المبرمجين في اكتشاف الأخطاء البرمجية في الشيفرة المصدرية من خلال إجراء خطوة بخطوة عبر الكود. يمكن استخدامه لتحديد مكان حدوث الأخطاء، فحص قيم المتغيرات، وتتبع تدفق التنفيذ داخل البرامج. يعد pdb من الأدوات القوية التي توفر للمطورين بيئة تفاعلية لمعالجة الأخطاء بطريقة أكثر فعالية.

كيفية البدء في استخدام منقح بايثون؟

1. التهيئة الأساسية

من أجل استخدام منقح بايثون، يجب أولاً أن تقوم بإضافة كود بسيط يتيح لك التفاعل مع منقح pdb. هناك طريقتان رئيسيتان لاستخدامه:

  • الطريقة الأولى: إضافة الكود يدويًا داخل البرنامج باستخدام import pdb:

    python
    import pdb def example_function(a, b): pdb.set_trace() # هنا سيتم التوقف result = a + b print(f"The result is: {result}") example_function(5, 3)

    عند تنفيذ هذا الكود، سيتوقف البرنامج عند السطر الذي يحتوي على pdb.set_trace()، وبالتالي يمكن للمطور التفاعل مع الكود عبر سطر الأوامر.

  • الطريقة الثانية: استخدام الخيار -m pdb عند تشغيل البرنامج من سطر الأوامر:

    bash
    python -m pdb my_script.py

    هذا الأمر يتيح لك الدخول في وضع التصحيح من بداية البرنامج.

2. الأوامر الأساسية في منقح بايثون

عند تشغيل منقح pdb، ستجد نفسك في بيئة تفاعلية يمكن فيها تنفيذ العديد من الأوامر للتحكم في سير البرنامج. إليك أهم الأوامر التي يمكن استخدامها:

  • n أو next: ينقل البرنامج إلى السطر التالي في نفس الوظيفة.

  • s أو step: ينتقل إلى السطر التالي ولكن إذا كان السطر يحتوي على دالة أو وظيفة أخرى، سينتقل إلى داخل هذه الدالة.

  • c أو continue: يستأنف البرنامج من المكان الحالي حتى الوصول إلى نقطة التوقف التالية.

  • l أو list: يعرض لك الكود المصدر للبرنامج في المنطقة القريبة من مكان التوقف الحالي.

  • p أو print: يستخدم لعرض قيمة متغير معين:

    python
    p variable_name
  • q أو quit: يوقف عملية تصحيح الأخطاء ويخرج من منقح pdb.

3. استخدام أوامر التفتيش والتحقق

عندما يتوقف البرنامج في نقطة معينة، يمكنك استخدام أوامر pdb لفحص قيم المتغيرات أو تتبع تدفق البرنامج. على سبيل المثال، إذا كنت تريد معرفة قيمة متغير داخل دالة، يمكنك كتابة أمر p متبوعًا باسم المتغير، مثل:

python
p result

سيقوم منقح pdb بطباعة قيمة المتغير result في تلك اللحظة.

مثال عملي لاستخدام منقح بايثون

لنأخذ مثالاً عمليًا لكيفية استخدام pdb في برنامج بسيط يحتوي على خطأ في الحساب:

python
import pdb def calculate_sum(a, b): pdb.set_trace() # توقف هنا لفحص الأخطاء result = a + b print(f"The sum is: {result}") calculate_sum(5, "3")

عند تشغيل الكود، سيتوقف عند السطر الذي يحتوي على pdb.set_trace(). هنا، سيحدث خطأ من نوع TypeError لأننا نحاول جمع عدد صحيح مع نص (string). في هذه الحالة، يمكن للمطور استخدام منقح pdb للتحقق من القيم قبل حدوث الخطأ.

في داخل جلسة pdb، يمكن للمطور استخدام الأمر p لعرض قيم المتغيرات a و b:

bash
(Pdb) p a 5 (Pdb) p b '3'

بناءً على هذه المعلومات، سيعرف المطور أن b هو نص وليس عددًا صحيحًا. يمكنه بعد ذلك تصحيح الكود كما يلي:

python
def calculate_sum(a, b): pdb.set_trace() result = a + int(b) # تحويل النص إلى عدد صحيح print(f"The sum is: {result}") calculate_sum(5, "3")

الآن، يعمل البرنامج كما هو متوقع دون حدوث أي خطأ.

التحكم في تدفق البرنامج باستخدام منقح بايثون

منقح pdb يسمح للمطورين بالتحكم في تدفق البرنامج بشكل دقيق. يمكنك الانتقال بين الأسطر أو حتى الدخول إلى داخل الدوال والخروج منها كما تشاء. إذا كنت تتعامل مع وظيفة معقدة أو شيفرة مصدرية ضخمة، فإن القدرة على التحكم في تدفق التنفيذ خطوة بخطوة أمر بالغ الأهمية.

الانتقال داخل الدوال:

افترض أنك تستخدم دالة تحتوي على العديد من العمليات، وكنت ترغب في التوقف داخل هذه الدالة لمعرفة ما إذا كانت الحسابات تجري بشكل صحيح. يمكنك استخدام الأمر s للانتقال إلى داخل هذه الدالة:

bash
(Pdb) s

هذا سيمكنك من تتبع الكود داخل الدالة خطوة بخطوة.

الانتقال بين الوظائف:

إذا كنت بحاجة إلى العودة إلى الدالة الأصلية بعد المرور عبر دالة فرعية، يمكنك استخدام الأمر r للعودة إلى مستوى الدالة السابقة:

bash
(Pdb) r

تصحيح الأخطاء غير المتوقعة باستخدام منقح بايثون

في بعض الأحيان، قد يكون من الصعب تحديد مكان الخطأ بشكل دقيق، خاصة عندما يكون الخطأ مرتبطًا بحالة معينة أو عندما يتسبب في توقف البرنامج بعد فترة من الزمن. في هذه الحالات، يمكن استخدام منقح pdb للكشف عن القيم المتغيرة في كل خطوة.

على سبيل المثال، إذا كنت تشك في أن قيمة معينة تسبب في حدوث خطأ بعد عدة عمليات متتابعة، يمكنك استخدام pdb لإدراج نقاط توقف داخل كل دالة تتعامل مع هذه القيمة. يمكنك أيضًا فحص القيم في كل مرة تتغير فيها باستخدام الأوامر p و l.

استخدام منقح بايثون مع بيئات التطوير المتكاملة (IDEs)

على الرغم من أن استخدام pdb مباشرة من سطر الأوامر فعال للغاية، فإن العديد من بيئات التطوير المتكاملة (IDEs) مثل PyCharm و VSCode توفر دعمًا مدمجًا لأدوات التصحيح. يمكن للمطورين استخدام هذه IDEs للوصول إلى واجهة رسومية أكثر سهولة للتفاعل مع منقح بايثون. هذه الواجهات توفر ميزات إضافية مثل تصحيح الأخطاء عبر الواجهة الرسومية، إضافة نقاط توقف بدون الحاجة إلى كتابة الكود يدويًا، وعرض المتغيرات والقيم بشكل أكثر وضوحًا.

نصائح لتحسين استخدام منقح بايثون

  1. استخدام سجل الأخطاء: يمكن تخزين سجل الأخطاء عند تشغيل منقح pdb عبر خيار -m pdb. سيمكنك هذا من مراجعة الأخطاء لاحقًا وتحليلها في بيئة مناسبة.

  2. استخدام نقاط توقف متعددة: بدلاً من التوقف في نقطة واحدة فقط، يمكن إدراج عدة نقاط توقف في أماكن متعددة لتحديد مكان الخطأ بدقة.

  3. البحث عن الأخطاء في المهام الثقيلة: في البرامج الكبيرة أو المعقدة، يمكن استخدام pdb لتحديد المكان الذي يحدث فيه الخطأ بشكل دقيق، خاصة في المهام الحسابية الثقيلة أو العمليات المتتابعة.

الخاتمة

يعد منقح بايثون (pdb) أداة قوية تساعد المبرمجين على اكتشاف وتصحيح الأخطاء في الكود البرمجي بفعالية. من خلال التعرف على الأوامر الأساسية والتقنيات المتقدمة لاستخدام منقح pdb, يمكن للمطورين تحسين كودهم بسرعة وكفاءة. سواء كنت مبتدئًا أو محترفًا، فإن استخدام هذه الأداة سيساعدك على تحسين تجربتك البرمجية واكتساب مهارات متقدمة في تصحيح الأخطاء.